Idioma :
SWEWE Membre :Login |Registre
Cercar
Comunitat enciclopèdia |Enciclopèdia Respostes |Enviar pregunta |Coneixement de vocabulari |Pujar coneixement
Anterior 1 Pròxim Seleccioneu Pàgines

espai de noms

espai de noms que "espai de noms", també conegut com una forma d'organització del codi, "nom" VS.NET diferents idiomes utilitzen l'espai per ordenar per nom, per a distingir entre diferents funció de codi de VS.NET és també plenament en totes les classes part del nom.

Esquema

Espai de noms s'utilitza per organitzar i reutilitzar unitat de compilació de codi. Com s'entén el nom, namespace (namespace), la raó de per què és tal cosa, perquè molt poques paraules humanes disponibles, i els programes escrits en diferents persones de totes les variables no són fenomen impossible del mateix nom, la biblioteca va dir que el problema és particularment agut si la variable o funció amb el mateix nom (inevitablement) van escriure dos articles que apareixen a la biblioteca, hi ha un problema d'usar, per tal de resoldre aquest problema, la introducció del concepte d'espais de noms mitjançant l'ús de xxx espai de noms; funcions de la biblioteca o les variables que s'utilitzen la definició d'espai de noms, tal acció no causarien conflictes innecessaris.Abast

Namespace Anomenat, es refereix a diversos identificador visible rang. C biblioteca estàndard de tots els identificadors es defineixen en l'espai de noms std en un arxiu anomenat.

A: <iostream> i <iostream.h> format no és el mateix, el primer és un sufix, de fet, si compilador inclou carpeta dins es pot veure, els dos són dos arxius, obriu l'arxiu que es troba, El codi que no és la mateixa. Arxius de capçalera sufix. H c estàndard té clarament no s'admeten, i la ràpida aplicació de les funcions de la biblioteca estàndard definits en l'espai global, una declaració amb. Arxiu H sufix capçalera, c ordre estàndard i C per distingir, sinó també arxius de capçalera Per utilitzar correctament no s'especifica l'espai de noms usen el sufix. h. Per tant, en utilitzar <iostream.h>, equivalent a cridar a funcions de biblioteca al c, usant un espai de noms global, que és un principi del c aplicació; Quan <iostream> quan l'arxiu de capçalera no està definit a nivell mundial espai de noms, s'ha d'utilitzar l'espai de noms std; manera d'ús cout adequada.

Dos: Des del concepte d'espai de noms amb les tecles biblioteca estàndard de C de qualsevol identificador, hi ha tres opcions:

1, identificador especificat directament. Per exemple en comptes de ostream std :: ostream. Declaració completa és la següent: std :: cout << std :: hex << 3.4 << std :: endl;

2, utilitzant la paraula clau utilitzant. usant std :: cout; usant std :: endl; usant std :: cinquanta, aquests programes poden ser escrits cout << std :: hex << 3.4 << endl;

3, el més convenient és utilitzar using namespace std; exemple: using namespace std; diuen així tots els identificadors definits en l'espai de noms std són vàlids (exposició). Si es declaren com a variables globals. Així que la declaració anterior es pot escriure així: cout << hex << 3.4 << endl; Com que la biblioteca estàndard és molt gran, de manera que el programador en l'elecció del nom o classe de funció és molt probable i normes un nom a la mateixa biblioteca. Així que per tal d'evitar conflictes de noms causats per aquesta situació, posar tot en la llibreria estàndard es col · loquen en namespace std. Però va a portar un nou problema. Molts dels codi original de C es basa en l'ús de les funcions de la biblioteca estàndard pseudo-any, estan en l'espai global. Així que hi ha <iostream.h> i <iostream> pel que aquest arxiu de capçalera, un és per a la compatibilitat amb anteriors codi C , un per donar suport a la nova norma. Espai de noms std paquet és el nom de la biblioteca estàndard, els arxius estàndard de capçalera de la biblioteca per la distinció anterior, en general no se sumen. "H"

Exemples

98 anys després que el llenguatge C proporciona un espai de noms d'espai de noms global, per evitar conflictes de noms condueixen a problemes globals. Per exemple, tingui en compte els dos següents encapçalaments:

/ / One.h

funció char (char);

classe String {...};

/ / Somelib.h

classe String {...};

Si es defineix la forma descrita anteriorment, llavors els dos arxius de capçalera no poden ser inclosos en el mateix programa que es produiran els conflictes de classe String.

L'espai de noms anomenat és el nom d'una biblioteca encapsula el camí, és com una tanca de carretera construïda a cada biblioteca de programes.

Continua aquí demostra una completa exemples d'espais de noms oh:

Espai de noms

En Struts2 en

En Struts2 Lane, espai de noms és un paquet dins d'una propietat, la ruta d'accés utilitzada per marcar l'acció. Nota: namespace Només el paquet per marcar camins en lloc de l'atribut name. En Struts2 on hi ha un espai de noms "per defecte", si el paquet no especifica un espai de noms, llavors el paquet en l'actuació sobre l'ús de l'espai de noms per defecte. Si no s'especifica l'accés, llavors l'espai de noms d'acció Struts2 primera es troba l'acció en l'espai de noms de l'arrel "/", l'espai de noms per defecte no es pot trobar a continuació, cerqueu a l'acció. Error no es trobarà de nou, que Struts2 només troben dos espais de noms.

En XML

Espai de noms proporciona una manera d'evitar conflictes de nomenclatura d'element.

Conflictes de noms

En XML, els noms d'elements es defineixen pel promotor, quan dos documents diferents utilitzen el mateix nom d'element, es produeix un conflicte de noms.

Aquest document XML porta la informació en una taula:

<table>

<tr>


Anterior 1 Pròxim Seleccioneu Pàgines
Usuari Revisió
Sense comentaris encara
Vull comentar [Visitant (3.147.*.*) | Login ]

Idioma :
| Comproveu el codi :


Cercar

版权申明 | 隐私权政策 | Drets d'autor @2018 Coneixement enciclopèdic del Món